![]() Method, non-transient computer-readable storage media and system for blockchain consensus
专利摘要:
A blockchain consensus method may comprise: acquiring transaction data; and distributing, according to a predefined distribution rule, the transaction data to at least one consensus unit in a consensus unit set, causing the at least one consensus unit to perform consensus processing on the transaction data distributed. 公开号:BR112019020374B1 申请号:R112019020374-5 申请日:2018-03-26 公开日:2022-01-25 发明作者:Weiming Zhuang 申请人:Advanced New Technologies Co., Ltd; IPC主号:
专利说明:
Cross-Reference to Related Requests [001]The present application is based on and claims priority to Chinese application No. 201710197538.X, filed March 29, 2017, the entire contents of which are incorporated herein by reference. Technical Field [002]The present application pertains to the field of computer software technologies and, in particular, to methods, apparatus and systems for blockchain consensus. background [003]Blockchain is a distributed database technology originally designed for Bitcoin. Such data structure is particularly suitable for storing sequential data that is checked in the system. Furthermore, this data structure uses a consensus algorithm to ensure that the data cannot be tampered with or forged. A consensus algorithm is an algorithm that requires the participation of nodes in a blockchain and achieves consensus through joint calculation by a plurality of nodes. For example, upon receiving transaction data, an accounting node transmits the transaction data to other participating nodes, and other participating nodes perform consensus processing to determine whether the accounting node has correct accounting for the transaction data. If the consensus result of other participating nodes is that of the accounting node, has an accounting right to the transaction data, the accounting node stores the transaction data in a blockchain corresponding to the accounting node. In blockchain technology, therefore, the consensus algorithm is a law that governs the programs or nodes on a blockchain, which ensures that all nodes can cooperate consistently under any circumstances. [004]Practical Byzantine Fault Tolerance (PBFT) is a common blockchain consensus algorithm. The PBFT algorithm can provide some tolerance, ensuring activity and security, and therefore it was widely used. In the PBFT algorithm, one node is a primary node and the other nodes are backup nodes. The master node is responsible for sorting incoming transaction requests and then transmits the transaction requests to the backup nodes according to the sorting result. The PBFT algorithm generally comprises three phases: pre-preparation, preparation and confirmation. The pre-staging phase and the staging phase are used to determine a sequence of transaction requests. [005]However, the head node is likely to make mistakes when classifying transaction requests, for example, giving the same sequence number to different transaction requests or failing to assign a sequence number or making the sequence numbers of adjacent transaction requests are discontinuous, etc. As a result, it is necessary for a backup node to check the sequence of transaction requests when receiving ordered transaction requests. [006] As a result, the PBFT algorithm did a lot of design and calculation to ensure sequence. It has been found in research that many consensus algorithms currently used (e.g. consensus mechanisms such as mechanism for proving amount of work and mechanism for proving rights and benefits, etc.) consensus processing, which consumes significant system resources. [007] In practical applications, however, there are many transaction requests with no sequence requirements. A transaction request with no sequence requirements means that, upon receiving transaction requests, a server does not need to process incoming transaction requests according to an acceptable time order, such as donation-to-donation transactions, unlimited crowdfunding transactions, or upper quota, etc. With charitable donation transactions as an example, the donation sequence does not affect transaction processing. Therefore, this type of transaction requests can be called transaction requests that have no sequence requirements (the “transaction request with no sequence requirements” in defined value). When this type of transaction requests are processed on a blockchain, using a current consensus algorithm will lead to relatively low processing efficiency for this type of transaction and at the same time also affect the blockchain's consensus throughput capacity. . summary [008] In view of the foregoing, embodiments of the present disclosure provide blockchain consensus methods, apparatus and systems to at least mitigate the problem in the prior art that processing efficiency is low when a consensus algorithm is used to process requests transaction without sequence requirements. [009]According to one aspect, a blockchain consensus method may comprise: acquiring transaction data; and distributing, according to a predefined distribution rule, the transaction data to at least one consensus unit in a consensus unit set, causing the at least one consensus unit to perform consensus processing on the transaction data distributed. [010]According to another aspect, a blockchain-based data storage method may comprise: receiving consensus results from different consensus units; and storing the consensus results in blockchain blocks according to the timestamps of the consensus results. [011]According to another aspect, a blockchain consensus system may comprise: a distribution unit and a consensus unit set comprising a plurality of consensus units, wherein: the distribution unit is configured to acquire data and distributing, in accordance with a predefined distribution rule, the transaction data to at least one consensus unit in the consensus unit set; and at least one consensus unit is configured to perform consensus processing on the distributed transaction data. [012]According to another aspect, a blockchain consensus apparatus, comprising a processor and a non-transient computer-readable storage medium that stores instructions which, when executed by the processor, causes the blockchain consensus apparatus to execute a method. The method may comprise: acquiring transaction data; and distributing, according to a predefined distribution rule, the transaction data to at least one consensus unit in a consensus unit set, causing the at least one consensus unit to perform consensus processing on the transaction data. distributed transaction. [013]According to another aspect, a blockchain-based data storage apparatus, comprising a processor and a non-transient computer-readable storage medium storing instructions which, when executed by the processor, causes the data storage device to of the blockchain execute a method. The method may comprise: receiving consensus results from different consensus units; and storing, according to the timestamps of the consensus results, the consensus results in blocks of the blockchain, where storing the consensus results in blocks of the blockchain comprises: storing the consensus results in blocks of nodes in the blockchain network corresponding to consensus units that generate the consensus results. [014]The present application describes an exemplary consensus algorithm as an independent consensus unit, which is different from a conventional blockchain consensus, which forms a consensus unit set with these consensus units, and upon receipt of the data from transaction, can distribute, according to a defined distribution rule, the transaction data to consensus units in the consensus unit set to achieve consensus processing on the transaction data by the consensus units. In this way, a plurality of consensus units can perform consensus processing simultaneously on a transaction request with no sequence requirements, sequence manipulation by existing consensus algorithms is simplified, processing efficiency and processing throughput capacity over requests are simplified. transactions without sequence requirements are improved, and the operational performance of a blockchain network is improved. Brief Description of Drawings [015]To more clearly describe technical solutions in the embodiments of the present disclosure, the accompanying drawings will be briefly described as follows. The accompanying drawings are merely exemplary. For one skilled in the art, other designs may additionally be obtained in accordance with these designs without inventive effort. [016] Fig. 1 is a flowchart of a blockchain consensus method in accordance with an embodiment of the present disclosure. [017] Fig. 2 is a flowchart of a blockchain consensus method in accordance with an embodiment of the present disclosure. [018] Fig. 3 is a flowchart of a blockchain consensus method in accordance with an embodiment of the present disclosure. [019] Fig. 4 is a flowchart of a blockchain-based data storage method in accordance with an embodiment of the present disclosure. [020] Fig. 5 is a structural schematic diagram of a blockchain consensus system in accordance with an embodiment of the present disclosure. [021] Fig. 6 is a schematic diagram of a blockchain consensus apparatus in accordance with an embodiment of the present disclosure. [022] Fig. 7 is a schematic diagram of a blockchain consensus apparatus in accordance with an embodiment of the present disclosure. [023] Fig. 8 is a structural schematic diagram of a blockchain-based data storage apparatus in accordance with an embodiment of the present disclosure. Detailed Description [024] To enable a person skilled in the art to better understand the technical solutions in the present disclosure, the technical solutions in the embodiments will be described clearly and completely below with reference to the accompanying drawings. Apparently, the described modalities are merely exemplary. All other embodiments obtainable by one skilled in the art without inventive effort and based on the embodiments of the present disclosure should be within the scope of the present disclosure. [025] The solutions according to the present disclosure will be described in detail through the following modalities. [026] Fig. 1 is a flowchart of a blockchain consensus method in accordance with an embodiment of the present disclosure. From a programs perspective, a main body that executes the stream can be an application (APP) or a program on a personal computer (PC) terminal. From an appliances perspective, a main body running the flow may include, but is not limited to, the following appliances: personal computers, large or medium scale computers, computer clusters, cell phones, tablet computers, smart wearable devices, machines for vehicles, etc. [027]According to one embodiment, the blockchain consensus method, as shown in Fig. 1, can comprise the following steps: [028]S101: Acquire transaction data (e.g. transaction data seeking consensus processing on a blockchain network, and this transaction data may be called "to-be-consensus" transaction data). [029] In one embodiment, if a main body executing the method is a blockchain node (hereinafter "node") in a blockchain network, the node may receive a transaction request to be processed, acquire transaction data from the transaction request and store the transaction data. The transaction data to be agreed in step S101 may be the stored transaction data. The transaction request here could be a transaction request sent by a client terminal, for example, an accounting request, or a request to perform another state machine operation; or it could be a transaction request sent by other devices, which is not limited here. [030] In some embodiments, transaction data to be agreed may refer to a transaction data set, for example, a subsequent operation is triggered when a transaction data set is received. Alternatively, the transaction data to be agreed may be a plurality of transaction data sets to be agreed, for example, a subsequent operation is triggered when a plurality of transaction data sets is received. Alternatively, the transaction data to be agreed can be transaction data generated within a defined time period, e.g. transaction data generated within a defined time period is received, and when the defined period expires, a subsequent operation is triggered. . The number of transaction datasets purchased is not limited here. [031]The "transaction data" in this document comprises transaction data with no sequence requirements. That is, when the acquired transaction data is processed, the transaction data time factor is not considered. For example, an incoming transaction request is a donation request. So the transaction data to be agreed upon is the transaction data to be agreed upon acquired. For donation-related transaction data, the sequence of transaction data processing is irrelevant to the sender. That is, the time factor of when a donation request is sent by the sender is ignored. Therefore, this type of transaction request is also called a transaction request with no sequence requirements. [032]S102: Distribute, according to a predefined distribution rule, transaction data to at least one consensus unit in the consensus unit set. [033]Here, the consensus unit is used to perform consensus processing on the distributed transaction data. [034]In a blockchain technology, a consensus algorithm is used to process the acquired transaction data, while the consensus algorithm is an algorithm that is completed by the voting nodes participating in the consensus, e.g. all voting nodes finally reach a consensus result through joint calculation. [035]The set of consensus units in one modality comprises consensus units, and each consensus unit can provide independent consensus transactions. In other words, different consensus units may use the same consensus algorithm or they may use different consensus algorithms. [036] In some embodiments, the number of consensus units comprised in a consensus unit set is not limited here. The number of voting nodes included in different consensus units may be the same or may be different. For example, if the consensus algorithm is the PBFT algorithm, a voting node in a consensus unit comprises a primary node and four secondary nodes. If the consensus algorithm is proof of working mechanism, a consensus unit comprises at least one voting node. Therefore, the number of voting nodes in a consensus unit is not limited here, which can be determined according to the actual requirements of a consensus algorithm. [037] Thus, with regard to consensus transaction data, consensus processing can be performed on different transaction data simultaneously, according to the solutions of the various modalities. That is, different transaction data is distributed simultaneously to different consensus units, and the consensus units independently perform consensus processing on the received transaction data. [038] Various methods for distributing, according to a predefined distribution rule, the transaction data to be agreed to at least one consensus unit in the consensus unit set will be described in detail below. [039] In an example, a first distribution method may comprise: according to the number of transaction data sets to be agreed upon, randomly determining a compatible number of consensus units from the set of transaction data units to be agreed upon. consensus; and simultaneously distributing the transaction data to be agreed to the given consensus units, respectively. [040] In one example, when the number of transaction data sets to be agreed upon is one, a consensus unit is randomly determined from the consensus unit set. The transaction data to be agreed upon is distributed to the given consensus unit, and the consensus unit performs consensus processing on the transaction data to be agreed upon. [041]When the number of transaction data sets to be agreed upon is greater than one, according to the number of transaction data sets to be agreed upon, the same number of consensus units is randomly determined to from the consensus unit set. The transaction data sets to be agreed are sequentially distributed to the different consensus units, respectively. [042]For example, the transaction data to be agreed upon comprises transaction data to be agreed 1, transaction data to be agreed 2 and transaction data to be agreed 3, and assuming that a set of consensus unit comprises a consensus unit 1, a consensus unit 2, a consensus unit 3, a consensus unit 4, and a consensus unit 5. Here, three consensus units can be randomly determined from the consensus unit set. Assuming the randomly determined consensus units are consensus unit 2, consensus unit 4 and consensus unit 5, transaction data to be agreed 1, transaction data to be agreed 2 and transaction data to be agreed 3 are distributed sequentially, at random, to the different consensus units. For example, transaction data to be agreed 1 is distributed to consensus unit 5; the transaction data to be agreed 2 is distributed to the consensus unit 4; and the transaction data to be agreed 3 is distributed to the consensus unit 2. [043]Consensus distribution in an implementation mode of this application does not have any requirement for sequence. Therefore, a random way can be used for distribution. Additionally, “transaction data to be agreed 1, transaction data to be agreed 2 and transaction data to be agreed 3 are distributed sequentially, randomly, to the different consensus units determined” can be implemented in a distributed fashion simultaneously . The distribution is performed randomly. That is, when transaction data to be agreed upon is acquired, any consensus unit can become a consensus transaction agreement unit to process the transaction data to be agreed upon. This way of random distribution can reduce resources used by the system in the distribution. [044]The "random way" here can be implemented through a random algorithm, or it can be implemented in other ways, which is not specifically limited here. [045] In another example, a second distribution method may comprise: determining, in a polling manner, consensus units that require consensus transaction from the consensus unit set; and distributing the transaction data to be agreed to the given consensus units. [046] In one example, when transaction data to be agreed upon is acquired, a query message is sent, in a polling manner, to all consensus units in the consensus unit set to determine if a consensus unit exists. that needs a consensus transaction object (for example, transaction request). When it is determined that a consensus unit needs a consensus transaction object, the transaction data to be agreed upon is sent to the consensus unit. [047]When the number of transaction data to be agreed upon is one, a query message is sent sequentially to all consensus units in the consensus unit set. When an incoming reply message indicates that a consensus transaction object is required, the transaction data to be agreed is sent to the consensus unit which returns the reply message. [048]When the number of transaction data to be agreed upon is greater than one, a query message can be sent simultaneously to all consensus units in the consensus unit set. When a response message is received, the number of consensus units that require a consensus transaction object, as indicated in the received response message, is determined. If the number of consensus units is greater than the number of transaction requests, consensus units can be randomly selected according to the first way of consensus units that need a consensus transaction object as indicated in the response message received, and the transaction data to be agreed is sent simultaneously to the randomly selected consensus units, respectively. If the number of consensus units is not greater than the number of transaction requests, the transaction data to be agreed is randomly distributed to the consensus units that need a consensus transaction object, as indicated in the response message received. , and transaction data to be agreed that has not been distributed will continue to wait. [049]For example, it is determined, in a research manner, that there are three consensus units in need of a consensus transaction object. Suppose there are four sets of transaction data to be consensual acquired. Then, the three sets of transaction data to be agreed upon are randomly selected from the four sets of transaction data to be agreed upon acquired. The three randomly selected sets of transaction data to be agreed upon are sent to the consensus units that need a consensus transaction object, respectively, and the set of transaction data to be agreed upon that has not been distributed is in a state to be distributed. [050]Assuming there are two sets of transaction data to be agreed upon acquired, the two sets of transaction data to be agreed upon are randomly selected from the transaction data to be agreed upon determined to require a consensus transaction object . The two sets of transaction data to be agreed upon are sent simultaneously to the randomly selected consensus units, so that the consensus units perform consensus processing on incoming transaction data to be agreed upon. [051] In another example, a third distribution method may comprise: determining a carrying capacity of each consensus unit in the consensus unit set; and distributing, according to a load balancing rule, the transaction data to be agreed to at least one consensus unit in the consensus unit set. [052] In one example, when transaction data to be agreed upon is acquired, the load capacity (the load capacity here may refer to the current consensus unit load status, which may be different from the total load capacity of the consensus unit) of each consensus unit in the consensus unit set can be determined to ensure that the load is balanced for all consensus units in the consensus unit set. Also, the current amount of idle resources of each consensus unit can be determined according to the load capacity of each consensus unit. In one embodiment, the transaction data to be agreed may be distributed to consensus units in the consensus unit pool that have a load capacity below a defined condition. Namely, the transaction data to be agreed upon is distributed to consensus units in the consensus unit set that have idle resources greater than a defined threshold. [053] In some embodiments, with respect to the situation where the number of consensus units needing a consensus transaction object is greater than the number of transaction requests in the second distribution method above, the load balancing method of According to the third distribution method, the method can be used to determine consensus units, which will not be described in detail here. [054] In one embodiment, when the transaction data to be acquired consensus cannot all be distributed to the consensus units at once, a part of the transaction requests needs to be in a state to be distributed. Then, for transaction requests in a state to be distributed, units of consensus can still be determined using the above three distribution methods. [055]For example, a consensus unit set comprises three consensus units. Then, the consensus unit set can simultaneously process three transaction data to be agreed upon acquired at the same time. If four (i.e. greater than three) sets of transaction data to be agreed are acquired: transaction data to be agreed 1, transaction data to be agreed 2, transaction data to be agreed 3, and transaction data to be agreed 4. Next, it is assumed that transaction data to be agreed 1, transaction data to be agreed 2 and transaction data to be agreed 3 are distributed simultaneously to the three consensus units in the set of consensus units. consensus, and the transaction data to be agreed 4 will be in a state to be distributed. Once it is detected that a consensus unit in the consensus unit set becomes idle, the transaction data to be agreed 4 can be distributed to the consensus unit. [056] In one embodiment, the determining consensus units from a consensus unit set comprise: determining a health state of each consensus unit in the consensus unit set, the health state comprising at least one normal state and abnormal state; and determining consensus units from consensus units with the operating state being a normal state. [057]To ensure that a given consensus unit can successfully perform consensus processing on transaction data to be acquired consensus, the health state of the consensus units in a consensus unit set can be additionally monitored. In this way, when consensus units are selected, consensus units with an abnormal health state can be avoided, which effectively improves the efficiency of processing transaction requests. [058] In addition, consensus units in a consensus unit set can still receive a switch control. In this way, when the amount of transaction requests to be processed on a blockchain network is relatively small, some consensus units in a consensus unit set can be turned off, which saves system resources to improve resource utilization rate. of the system. In some embodiments, by controlling the switch state of each consensus unit, blockchain in the way of implementing the present order can improve system availability when facing problems such as downtime or internet disconnection. For example, when node downtime or internet disconnection occurs on a consensus unit, the disadvantage of low system availability in an existing way can be avoided by turning off the consensus unit. [059]S103: Consensus unit performs (eg, must perform) consensus processing on distributed transaction data. [060] In one embodiment, the consensus algorithm used by consensus units is not limited here, which can be any consensus algorithm, including the conventional PBFT algorithm. [061]One skilled in the art should understand that there is no sequence requirement in the ways of implementing the present disclosure for distribution of transaction data to be agreed upon. In this disclosure, a consensus algorithm can be designed as an independent consensus unit, different from a conventional blockchain consensus. A consensus unit set is formed by these consensus units and upon receipt of the transaction data to be agreed upon, the transaction data can according to a defined distribution rule, for consensus units in the consensus unit set to reach consensus processing on transaction data by consensus units. In this way, a plurality of consensus units can perform consensus processing simultaneously on a transaction request with no sequence requirements, sequence manipulation by existing consensus algorithms is simplified, processing efficiency and processing throughput capacity over requests is simplified. transactions without sequence requirements are improved and the operational performance of a blockchain network is improved. [062] In some embodiments, transaction requests may comprise transaction requests with no sequence requirements. Transaction request with no string requirements includes but is not limited to charitable donation transactions, crowdfunding transactions with no limit or higher quota, etc. With respect to a charitable donation transaction, the donation sequence may not have an impact on the transaction at a millisecond level, and crowdfunding transactions with no cap or higher quota may have the same nature. Therefore, this type of transaction request can be treated as requests with no sequence requirements. In one embodiment, the operational efficiency of consensus processing can be improved in a simultaneous consensus manner for this type of transaction request with no sequence requirements. With the adoption of such a simultaneous consensus way, the throughput capacity of the entire blockchain system is greatly improved, and in particular, a consensus algorithm module is no longer an obstacle in the entire blockchain system. [063] Fig. 2 is a flowchart of a blockchain consensus method in accordance with an embodiment of the present disclosure. The method may include the following steps. [064]S201: Acquire transaction data. [065] This is identical or similar to the manner of step S101 with reference to Fig. 1, which will not be described in detail. [066]S202: Determine the amount of resources required to process transaction data and an amount of idle resources for each consensus unit in the consensus unit set. [067] In one embodiment, when transaction data to be agreed upon is acquired, resources needed to process the transaction data to be agreed upon can be determined. [068]Furthermore, a current amount of idle resources of each consensus unit in the consensus unit set can be determined through query. [069]S203: Compare the amount of idle resources of each consensus unit with the resources required to process the transaction data, respectively, and determine the number of consensus units having an amount of idle resources greater than the amount of required resources to process transaction data. [070]S204: determine if the number is greater than a defined value; if yes, the method proceeds to S205; otherwise, the method proceeds to S206. [071] The value defined in the embodiments of the present disclosure may be determined as necessary, or may be determined in accordance with experimental data, which are not limited herein. [072]S205: Determine, in a polling manner, consensus units that require consensus transactions from consensus units having more idle resources than the resources required to process the transaction data, and distribute the transaction data for the given consensus units. [073]The second distribution method described above with reference to step S102 can be used here as the lookup way to determine consensus units that require consensus transaction. [074] In one embodiment, a search and distribution mechanism for each transaction data to be agreed upon is adopted. According to the polling and distribution mechanism, an adapter or a distribution unit responsible for distribution periodically sends a poll to sequentially poll each consensus unit if a consensus transaction object is required. If yes, a transaction is provisioned, that is, the transaction data to be agreed upon is distributed, and when the transaction is completed, the next consensus unit is polled, which is repeated continuously. [075]S206: Determine, according to a load balancing rule, consensus units having a load capacity below a defined condition of consensus units having more idle resources than the resources required to process transaction data, and distributing the transaction data to the given consensus units. [076]The third distribution method described above with reference to step S102 can be used as the way here in which a load balancing rule is used to determine consensus units. [077]For example, there are five sets of transaction data to be agreed awaiting processing at a time, while currently there are three consensus units capable of participating in the consensus transaction. Then, the load of transaction requests exceeds the processing capacity of the independent consensus units. The transaction data load to be agreed upon and the processing power of the independent consensus units are compared to provide reference for the next consensus distribution, so that each consensus unit is used to its maximum capacity and the amount of processing of consensus per unit of time, eg throughput capacity, is improved. [078] In some embodiments, the load balancing distribution method used includes, but is not limited to, in a software or hardware load balancing manner, e.g. through DNS load balancing, gateway, or a load balancer. Distribution in a load-balanced fashion can prevent too many transaction requests from overloading some individual consensus units, leaving other individual consensus units idle. [079]Compared with the distribution in a load balancing method, the polling distribution method is easier to operate, but the distribution in a load balancing method is more efficient. [080] Fig. 3 is a flowchart of a blockchain consensus method in accordance with an embodiment of the present disclosure. The method may still be as follows. [081]S301: Acquire at least one set of transaction data. [082]S302: Group at least one transaction data to obtain one or more groups of transaction data. [083] In one embodiment, as the transaction data to be agreed upon is transaction data with no sequence requirements, the transaction data to be agreed upon acquired can be grouped, such that processing efficiency can be improved for the transaction data . [084]S303: According to the predefined distribution rule, distribute (eg, simultaneously distributing) the transaction data groups to different consensus units in the consensus unit set. [085]Here, the consensus unit is used to perform consensus processing on the transaction data to be distributed consensus. [086] Fig. 4 is a flowchart of a blockchain-based data storage method in accordance with an embodiment of the present disclosure. The method can be as follows. [087]S401: Receive consensus results sent by different consensus units on a blockchain network. [088] In one embodiment, consensus units may have a data storage capacity. When a consensus result is obtained, the consensus result only needs to be stored; it may also not have a data storage capacity, so different consensus units can send the obtained consensus results to a public node, and the public node will complete the storage. [089]S402: Store the consensus results in blocks of the blockchain network according to the timestamps of the consensus results. [090] In an example, according to the generation time of the consensus results, the different consensus results are stored sequentially in blocks of the blockchain; alternatively, according to the time of reception of the consensus results, the different consensus results are sequentially stored in blockchain blocks. [091] In one embodiment, when consensus results are stored in blockchain blocks, storage nodes can be randomly selected; or according to a matching relationship between consensus units and storage nodes, consensus results are stored in blocks of nodes on the blockchain network corresponding to consensus units that generate the consensus results, which are not limited here. That is, a consensus unit can store consensus results generated by itself, store consensus results generated by other consensus units, or not store consensus results with the consensus results stored on independent storage nodes. [092] In one example, in addition to providing switch control for each consensus unit, switch control can be additionally provided for a storage node. Facing storage node downtime, disconnecting from the Internet, adding new nodes and sending old nodes, such as a switch control significantly improves the availability of the entire blockchain system. [093] Fig. 5 is a structural schematic diagram of a blockchain consensus system in accordance with an embodiment of the present disclosure. The consensus system comprises: a distribution unit 501 and a consensus unit set 502 comprising consensus units 5021a-d, wherein: the distribution unit 501 acquires transaction data to be agreed upon and distributes, according to a rule of predefined distribution, the transaction data to be agreed for at least one consensus unit (e.g., 5021a, b, c or d) in the consensus unit set 502; and the consensus units 5021a-d comprised in the consensus unit set 502 perform consensus processing on the distributed transaction data to be agreed. [094]In one embodiment, the consensus system additionally comprises one or more storage nodes 503a-d, wherein: the storage nodes 503a-d receive consensus results sent by different consensus units on a blockchain network and store sequentially , according to the time marks of the consensus results, the consensus results. [095] In one embodiment, the distribution unit 501 that distributes, according to a predefined distribution rule, the transaction data to be agreed to at least one consensus unit in the consensus unit set comprises: according to the number of received transaction data sets to be agreed upon, randomly determining a corresponding number of consensus units from the consensus unit set; and simultaneously distributing the transaction data to be agreed to the given consensus units, respectively. [096] In one embodiment, the distribution unit 501 that distributes, according to a predefined distribution rule, the transaction data to be agreed to at least one consensus unit in the consensus unit set comprises: determining, in a search way, the consensus units that need consensus transactions from the consensus unit set; and distributing the transaction data to be agreed to the given consensus units. [097] In one embodiment, the distribution unit 501 that distributes, according to a predefined distribution rule, the transaction data to be agreed to at least one consensus unit in the consensus unit set comprises: determining the ability to load of each consensus unit in the consensus unit set; and distributing, according to a load balancing rule, the transaction data to be agreed to at least one consensus unit in the consensus unit set. [098] In one embodiment, the distribution unit 501 that distributes, according to a load balancing rule, the transaction data to be agreed to at least one consensus unit in the consensus unit set comprises: distributing the data of transaction to be agreed to for consensus units in the set of consensus units that have load capacity below a defined condition. [099] In one embodiment, the distribution unit 501 that distributes, according to a predefined distribution rule, the transaction data to be agreed to at least one consensus unit in the consensus unit set comprises: determining the amount of resources required to process the transaction data to be agreed and an amount of idle resources for each consensus unit in the consensus unit set; when the number of consensus units having an amount of idle resources greater than the amount of resources required to process the transaction data to be agreed upon is greater than a defined value, determine, in a searchable manner, the consensus units that need of consensus transaction from the consensus units having more idle resources than the resources required to process the transaction data to be agreed and distributing the transaction data to be agreed to the given consensus units; and when the number of consensus units having an amount of idle resources greater than the amount of resources required to process the transaction data to be agreed upon is less than a defined value, determine, according to a load balancing rule, units of consensus having load capacity below a defined condition from the consensus units having more idle resources than the resources required to process the transaction data to be agreed, and distributing the transaction data to be agreed to the consensus units determined. [0100] In one embodiment, the distribution unit 501 which determines consensus units from the set of consensus units comprises: determining a health state of each consensus unit in the consensus unit set, the operating state comprising at least least one normal state and one abnormal state; and determining consensus units from consensus units with the operating state being a normal state. [0101] In one embodiment, the transaction data to be agreed comprises transaction data with no sequence requirements. [0102]In one embodiment, storage node 503 receives consensus results sent by different consensus units on a blockchain network; and stores, according to timestamps of the consensus results, the consensus results in blocks of the blockchain network. [0103] In one embodiment, the storage node 503 that stores the consensus results in blocks of the blockchain comprises: storing the consensus results in blocks of nodes in the blockchain network corresponding to the consensus units that generate the consensus results. [0104] Fig. 6 is a schematic diagram of a blockchain consensus apparatus 600 in accordance with an embodiment of the present disclosure. The consensus apparatus 600 may comprise an acquisition unit 601 and a processing unit 602, wherein: the acquisition unit 601 acquires the transaction data to be agreed; and the processing unit 602 distributes, according to a predefined distribution rule, the transaction data to be agreed to to at least one consensus unit in the consensus unit set, and the consensus unit is configured to perform consensus processing in the transaction data to be consensual distributed. In some embodiments, the blockchain consensus apparatus 600 may comprise a memory and a processor coupled together. The memory may be non-transient and computer readable and may store instructions that, when executed by the processor, cause apparatus 600 to perform one or more of the steps described herein. Instructions can be implemented as multiple units, as described here. Each unit can be software, hardware, or a combination of both. [0105] In one embodiment, the processing unit 602 that distributes, according to a predefined distribution rule, the transaction data to be agreed to at least one consensus unit in the consensus unit set comprises: according to the number of received transaction data sets to be agreed upon, randomly determining a corresponding number of consensus units from the consensus unit set; and simultaneously distributing the transaction data to be agreed to the given consensus units, respectively. [0106] In one embodiment, the processing unit 602 that distributes, according to a predefined distribution rule, the transaction data to be agreed to at least one consensus unit in the consensus unit set comprises: determining, in a search way, consensus units needing consensus transactions the consensus unit set; and distributing the transaction data to be agreed to the given consensus units. [0107] In one embodiment, the processing unit 602 that distributes, according to a predefined distribution rule, the transaction data to be agreed to at least one consensus unit in the consensus unit set comprises: determining the ability to load of each consensus unit in the consensus unit set; and distributing, according to a load balancing rule, the transaction data to be agreed to at least one consensus unit in the consensus unit set. [0108] In one embodiment, the processing unit 602 that distributes, according to a load balancing rule, the transaction data to be agreed to at least one consensus unit in the consensus unit set comprises: distributing the data of transaction to be agreed to for consensus units in the set of consensus units that have load capacity below a defined condition. [0109] In one embodiment, the processing unit 602 that distributes, according to a predefined distribution rule, the transaction data to be agreed to at least one consensus unit in the consensus unit set comprises: determining the amount of resources required to process the consensus transaction data and an amount of idle resources for each consensus unit in the consensus unit set; when the number of consensus units having an amount of idle resources greater than the amount of resources required to process the transaction data to be agreed upon is greater than a defined value, determine, in a searchable manner, the consensus units that need of consensus transaction units [0110]Having more idle resources than the resources required to process transaction data to be agreed upon and distribution of transaction data to be agreed upon in given consensus units; and when the number of consensus units having an amount of idle resources greater than the amount of resources required to process the transaction data to be agreed upon is less than a defined value, determine, according to a load balancing rule, units of consensus having load capacity below a defined condition of the consensus units having more idle resources than the resources required to process the transaction data to be agreed and distribute the transaction data to be agreed to the given consensus units. [0111] In one embodiment, the processing unit 602 that determines consensus units from the consensus unit set comprises: determining a health state of each consensus unit in the consensus unit set, the health state comprising at least one from an abnormal state and an idle state; and determining consensus units from consensus units with the operating state being a normal state. [0112]In one embodiment, the transaction data to be agreed comprises transaction data with no sequence requirements. [0113]The consensus apparatus according to the various modalities can be implemented in a software, or it can be implemented in a hardware way, which is not limited here. In other words, units 601 and 602 may be software functional units stored in memory. When software functional units are executed by a processor, they cause the processor to perform described functions. Units 601 and 602 may also be hardware units, such as circuits programmed to perform the described functions. [0114] Fig. 7 is a schematic diagram of a blockchain consensus apparatus 700 in accordance with an embodiment of the present application. The consensus apparatus 700 may comprise an acquisition unit 701 and a processing unit 702, wherein: the acquisition unit acquires at least one transaction data to be agreed upon; and the processing unit simultaneously distributes, according to a predefined distribution rule, the transaction data to be agreed to at least one consensus unit in the consensus unit set, and the consensus unit is configured to perform transaction processing. consensus on the transaction data to be distributed consensus. In some embodiments, the blockchain consensus apparatus 700 may comprise an coupled memory and processor. The memory may be transient and computer readable and may store instructions which, when executed by the processor, cause apparatus 700 to perform one or more of the steps described herein. Instructions can be implemented as multiple units, as described here. Each unit can be software, hardware, or a combination of both. For example, units 701 and 702 may be functional units of software stored in memory. When software functional units are executed by a processor, they cause the processor to perform the described functions. Units 701 and 702 may also be hardware units, such as circuits programmed to perform the described functions. [0115] In one embodiment, the processing unit 702 that simultaneously distributes, according to a predefined distribution rule, the transaction data to be agreed to at least one consensus unit in the consensus unit set comprises: grouping at least a transaction data to be agreed upon to obtain one or more groups of transaction data; and according to the predefined distribution rule, distribute the transaction data groups to different consensus units in the consensus unit set. [0116] Fig. 8 is a structural schematic diagram of a blockchain-based data storage apparatus 800 in accordance with an embodiment of the present application. Storage apparatus 800 may comprise a receiving unit 801 and a storage unit 802, wherein: the receiving unit 801 receives consensus results sent by different consensus units on a blockchain network; and the storage unit 802 stores, according to timestamps of the consensus results, the consensus results in blocks of the blockchain network. In some embodiments, the blockchain consensus apparatus 800 may comprise an coupled memory and processor. The memory may be non-transient and computer readable and may store instructions which, when executed by the processor, cause apparatus 800 to perform one or more of the steps described herein. Instructions can be implemented as multiple units, as described here. Each unit can be software, hardware, or a combination of both. For example, units 801 and 802 may be software functional units stored in memory. When functional software units are executed by a processor, they cause the processor to perform the described functions. Units 801 and 802 may also be hardware units, such as circuits programmed to perform the described functions. [0117] In one embodiment, the storage unit 802 that stores the consensus results in blocks of the blockchain comprises: storing the consensus results in blocks of nodes in the blockchain network corresponding to the consensus units that generate the consensus results. [0118]The consensus apparatus according to various modalities can be implemented in a software, or it can be implemented in a hardware way, which is not limited here. As far as the consensus apparatus is concerned, a consensus algorithm is designed as an independent consensus unit, which is different from a conventional blockchain consensus. A consensus unit set is formed by these consensus units and upon receipt of the transaction data to be agreed upon, the transaction data can be distributed, according to a defined distribution rule, to the consensus units in the set of consensus units. consensus unit to achieve consensus processing on transaction data by consensus units. In this way, a plurality of consensus units can perform consensus processing simultaneously on a transaction request with no sequence requirements, the handling of consequences by existing consensus algorithms is simplified, processing efficiency and processing throughput in Transaction requests without sequence requirements are improved and the operational performance of a blockchain network is improved. [0119]According to the embodiments of the present disclosure, the apparatuses respectively correspond to the methods. Therefore, the devices also achieve advantageous technical effects that are similar to the corresponding methods. As the advantageous technical effects of the methods have been described in detail above, the advantageous technical effects of the corresponding apparatus will not be repeated here. [0120]In the 1990s, an improvement in a technology could be differentiated into a hardware improvement (for example, an improvement in a circuit structure, such as a diode, a transistor, a switch, and the like) or a software improvement ( an improvement in the flow of a method). Along with technological development, however, many current improvements in method flows can be considered as direct improvements in hardware circuit structures. Designers can obtain a corresponding hardware circuit structure by programming an improved method flow into a hardware circuit. Therefore, an improvement in the method flow can be realized by the hardware implementation. For example, Programmable Logic Device (PLD) (eg Field Programmable Gate Array (FPGA)) is such an integrated circuit that its logic functions are determined by the user through device programming. A designer can program to “integrate” a digital system into a piece of PLD, without asking a chip maker to design and manufacture a dedicated IC chip. Currently, this type of programming has mainly been implemented through “logic compiler” software, rather than manually manufacturing IC chips. Logic compiler software is similar to a software compiler used for developing and writing programs, whereas a specific programming language is used for writing source code before compilation, known as Hardware Description Language (HDL). There is not one, but many types of HDL, such as ABEL (Advanced Boolean Expression Language), AHDL (Altera Hardware Description Language), Confluence, CUPL ( Cornell University Programming Language, HDCal, JHDL (Java Hardware Description Language), Lava, Lola, MyHDL, PALASM, RHDL (Ruby Hardware Description Language of Ruby Hardware Description)). The most commonly used HDLs include Very-High-Speed-Integrated Circuit Hardware Description Language (VHDL) and Verilog. A person skilled in the art would be able to obtain a hardware circuit to implement a method stream of logic using the above HDLs to perform some logic programming on the method stream and program it into an IC. [0121]A controller may be implemented in any suitable manner. For example, a controller may be in, for example, a microprocessor or processor form, as well as a computer-readable medium that stores computer-readable program codes (e.g. , software, or firmware) capable of being executed by the (micro)processor, a logic gate, a switch, an application-specific integrated circuit (ASIC), a programmable logic controller, and an embedded microcontroller. Examples of the controller include, but are not limited to, the following microcontrollers: ARC 625D, Atmel AT91SAM, Microchip PIC18F26K20, and Silicon Labs C8051F320. A memory controller can also be implemented as part of a memory control logic. A person skilled in the art should also be aware that, in addition to that controller being implemented in a computer-readable program code manner, it is possible to perform logic programming in the steps of a method to enable a controller to implement the same functions. in the form of a logic gate, a switch, an ASIC, a programmable logic controller and an embedded microcontroller. Therefore, this controller can be considered as a piece of hardware, while the devices included in it and configured to perform various functions can also be considered as a structure within the piece of hardware. Alternatively, devices configured to perform various functions can be thought of as both software modules for implementing a method and a structure within a piece of hardware. [0122]The system, apparatus, module or unit described in the above embodiments may be implemented by a computer chip or entity or implemented by a product having a function. A typical implementation device is a computer. For example, a computer can be a personal computer, a laptop, a cell phone, a camera phone, a smartphone, a personal digital assistant, a media player, a navigation device, an e-mail device, a game console, a tablet, a wearable device or a combination of any device on those devices. [0123]For convenience of description, the above apparatus is divided into several units according to functions for description. Unit functions may be implemented in one or more pieces of software and/or hardware when implementing the present disclosure. [0124] One skilled in the art should understand that the embodiments of the present disclosure may be provided as a method, a system, or a computer program product. Therefore, the disclosed system may be implemented as a full hardware embodiment, a full software embodiment, or an embodiment that combines software and hardware to perform the disclosed methods. Furthermore, the disclosed system may be in the form of a computer program product implemented on one or more computer-usable storage media (including, but not limited to, magnetic disk memory, CD-ROM, optical memory, and the like) comprising computer-usable program code. [0125]The disclosed system is described with reference to flowcharts and/or block diagrams of the method, device (system) and computer program product in accordance with the embodiments of the present disclosure. A computer program instruction may be used to implement each process and/or block in flowcharts and/or block diagrams and a combination of processes and/or blocks in flowcharts and/or block diagrams. Such computer program instructions may be provided to a general-purpose computer, special-purpose computer, embedded processor, or processor of other programmable data processing devices to generate a machine, so that instructions executed by one computer or another's processor programmable data processing devices generate apparatus for implementing a specified function in one or more processes in flowcharts and/or in one or more blocks in block diagrams. [0126]These computer program instructions may also be stored in computer-readable memory which may instruct a computer or other programmable data processing device to work in a particular manner, such that the instructions stored in computer-readable memory generate a article that includes an instructional apparatus. The instruction apparatus implements one or more functions in one or more processes in the flowcharts and/or in one or more blocks in the block diagram. [0127]These computer program instructions can also be loaded into a computer or other programmable data processing devices, so that a series of operational steps are performed on the computer or other programmable devices, thereby generating computer-implemented processing. Therefore, instructions executed on the computer or other programmable devices provide steps to implement one or more functions in one or more processes in flowcharts and/or in one or more blocks in block diagrams. [0128]In a typical configuration, the computing device includes one or more Central Processing Units (CPUs), input/output interfaces, network interfaces, and a memory. [0129]Memory may include computer readable media such as volatile memory, Random Access Memory (RAM) and/or non-volatile memory, for example Read Only Memory (ROM) or flash RAM. Memory is an example of computer readable media. [0130]Computer readable media includes permanent media, volatile, mobile and immobile media, which may implement information storage through any method or technology. The information may be computer-readable instructions, data structures, program modules, or other data. Examples of computer storage media include, but are not limited to, Phase Shift RAMs (PRAMs), Static RAMs (SRAMs), Dynamic RAMs (DRAMs), other types of Random Access Memory (RAMs), Read-Only Memories (ROMs) ), Electrically Erasable Programmable Read-Only Memories (EEPROMs), flash memories or other memory technologies, Compact Disc Read-Only Memories (CD-ROMs), Digital Versatile Disks (DVDs) or other optical memories, cassettes, cassette memories and disks or other magnetic memory devices or any other non-transmission media that may be used to store information accessible to a computing device. As defined herein, computer readable media does not include transient media such as modulated data signals and carriers. [0131]The terms "including", "comprising" or any other variants thereof are intended to encompass a non-exclusive inclusion, so that a process, method, commodity or device comprising a series of elements not only comprises those elements, but also other elements that are not listed, or additionally comprise elements that are inherent to the process, method, commodity or device. When there are no further restrictions, elements defined by the declaration “comprising a^” do not exclude additional similar elements in a process, method, commodity or device that include the defined elements. [0132] The present disclosure may be described in a regular context of a computer-executable instruction that is executed by a computer, such as a program module. In various embodiments, the program module comprises a routine, a program, an object, a component, a data structure, and the like for performing a particular task or implementing an abstract data type. The present disclosure may also be practiced in distributed computing environments. In these distributed computing environments, remote processing devices connected via communication networks perform tasks. In distributed computing environments, a program module can be located on local and remote computer storage media, including storage devices. [0133] The modalities in this description are progressively described with each modality focusing on differences from other modalities, and the modalities may be mutually referenced to identical or similar parts. For the modality of the system, its description is relatively simple, as it is substantially similar to the modality of the method. The description of method modality can be referenced to related parties. [0134] The embodiments of the present disclosure are exemplary only and are not used to limit the present disclosure. For one skilled in the art, the disclosed embodiments may be modified or altered in various ways. Any modification, equivalent replacement or improvement made within the spirit and principle of the present disclosure shall be covered by the claims of the present disclosure.
权利要求:
Claims (14) [0001] 1. Method CHARACTERIZED by the fact that it comprises: acquiring transaction data from multiple transaction requests without sequence requirements, the acquired transaction data comprising first transaction data of a first transaction request among the transaction requests and second data transaction request of a second transaction request among the transaction requests, where each of the transaction requests with no sequence requirements does not require processing according to a time factor of when the transaction request was sent by a sender against other acquired transaction requests for consensus processing; determining an amount of resources required to process the acquired transaction data; determining a number of consensus units in a blockchain network that have an amount of idle resources that is not less than the amount of resources required to process data from t acquired; determine, based on the number, at least two consensus units from the consensus units by: if the number is greater than a threshold, poll the consensus units to determine which of the consensus units needs of a consensus transaction; and if the number is less than or equal to the threshold, determine which of the consensus units has a load capacity below a defined condition; and distribute the first transaction data to a first consensus unit among the at least two consensus units and the second transaction data to a second consensus unit among the at least two consensus units without considering the time factor, causing the at least two consensus units perform consensus processing on the first transaction data and the second transaction data without considering the time factor. [0002] 2. Method according to claim 1, CHARACTERIZED by the fact that after the first transaction data and the second transaction data are distributed, the first consensus unit and the second consensus unit simultaneously perform consensus processing on the first data transaction data and the second transaction data, respectively. [0003] 3. Method, according to claim 1, CHARACTERIZED by the fact that determining the at least two consensus units comprises: determining that the number is greater than the limit, and searching the consensus units to determine which of the units of consensus requires the consensus transaction. [0004] 4. Method, according to claim 3, CHARACTERIZED by the fact that searching the consensus units comprises: searching sequentially each of the consensus units to determine if it needs the consensus transaction. [0005] 5. Method, according to claim 1, CHARACTERIZED by the fact that determining the at least two consensus units comprises: determining that the number is less than or equal to the limit, and selecting each of the at least two units of consensus based on the determined carrying capacity of the consensus unit. [0006] 6. Method according to claim 1, CHARACTERIZED by the fact that the multiple transaction requests comprise a charitable donation transaction or a crowdfunding transaction with no upper limit or quota. [0007] 7. Non-transient computer-readable storage media CHARACTERIZED in that it stores instructions that, when executed by a processor, cause the processor to execute a method comprising: acquiring transaction data from multiple transaction requests with no sequence requirements, the acquired transaction data comprising first transaction data from a first transaction request from among the transaction requests and second transaction data from a second transaction request from among the transaction requests, wherein each of the transaction requests with no sequence requirements is not requires processing according to a time factor of when the transaction request was sent by a sender versus other transaction requests acquired for consensus processing; determining an amount of resources required to process the acquired transaction data; determining a number of consumptive units nso on a blockchain network that has an amount of idle resources that is not less than the amount of resources required to process the acquired transaction data; determine, based on the number, at least two consensus units from the units of consensus by: if the number is greater than a threshold, poll the consensus units to determine which of the consensus units needs a consensus transaction; and if the number is less than or equal to the threshold, determine which of the consensus units has a load capacity below a defined condition; and distribute the first transaction data to a first consensus unit among the at least two consensus units and the second transaction data to a second consensus unit among the at least two consensus units without considering the time factor, causing the at least two consensus units perform consensus processing on the first transaction data and the second transaction data without regard to the time factor. [0008] 8. Non-transient computer-readable storage media according to claim 7, CHARACTERIZED by the fact that after the first transaction data and the second transaction data are distributed, the first consensus unit and the second consensus unit execute simultaneously processing the first transaction data and the second transaction data, respectively. [0009] 9. Non-transient computer-readable storage media according to claim 7, CHARACTERIZED by the fact that determining the at least two consensus units comprises: determining that the number is greater than the threshold, and searching the consensus units to determine which of the consensus units needs the consensus transaction. [0010] 10. Non-transient computer-readable storage media according to claim 9, CHARACTERIZED by the fact that searching the consensus units comprises: sequentially searching each of the consensus units to determine whether it requires the consensus transaction. [0011] 11. Non-transient computer-readable storage media according to claim 7, CHARACTERIZED in that determining the at least two consensus units comprises: determining that the number is less than or equal to the threshold, and selecting each one of at least two consensus units based on the determined carrying capacity of the consensus unit. [0012] 12. Non-transient computer-readable storage media as claimed in claim 7, CHARACTERIZED by the fact that the multiple transaction requests comprise a charitable donation transaction or a crowdfunding transaction with no upper limit or quota. [0013] 13. System, CHARACTERIZED by the fact that it comprises: a processor; and non-transient computer-readable storage media storing instructions that, when executed by the processor, cause the processor to execute a method comprising: acquiring transaction data from multiple transaction requests with no sequence requirements, the acquired transaction data comprising first data transaction data from a first transaction request from among transaction requests and second transaction data from a second transaction request from among transaction requests, where each of the transaction requests without sequence requirements does not require processing according to a factor time of when the transaction request was sent by a sender relative to other transaction requests acquired for consensus processing; determining an amount of resources required to process the acquired transaction data; determining a number of consensus units in a network from blockchai n that has an amount of idle resources that is not less than the amount of resources required to process the acquired transaction data; determine, based on the number, at least two consensus units from the consensus units by:if the number is greater than a threshold, poll the consensus units to determine which of the consensus units needs a consensus transaction; and if the number is less than or equal to the threshold, determine which of the consensus units has a load capacity below a defined condition; and distributing the first transaction data to a first consensus unit among the at least two consensus units and the second transaction data to a second consensus unit among the at least two consensus units without regard to the time factor, causing that the at least two consensus units perform consensus processing on the first transaction data and the second transaction data without considering the time factor. [0014] 14. System according to claim 13, CHARACTERIZED by the fact that after the first transaction data and the second transaction data are distributed, the first consensus unit and the second consensus unit simultaneously perform consensus processing on the first data transaction data and the second transaction data, respectively.
类似技术:
公开号 | 公开日 | 专利标题 BR112019020374B1|2022-01-25|Method, non-transient computer-readable storage media and system for blockchain consensus RU2735096C1|2020-10-28|Method and apparatus for processing services and consensus KR102304492B1|2021-09-24|Method and apparatus for consensus verification JP6756924B2|2020-09-16|Blockchain-based consensus methods and devices BR112019013412B1|2022-02-01|Method for processing data based on a reliable protocol, computer-readable medium, and computer-implemented system. TWI694700B|2020-05-21|Data processing method and device, user terminal TW202008762A|2020-02-16|Data processing method and device, client, and server US8060773B1|2011-11-15|Systems and methods for managing sub-clusters within a multi-cluster computing system subsequent to a network-partition event TWI662486B|2019-06-11|Method and device for checking completeness of distributed business processing BR112019019871B1|2021-11-16|NON TRANSITIONAL STORAGE MEDIA READABLE BY COMPUTER, METHOD AND SYSTEM ASSOCIATED WITH A FIRST BLOCKCHAIN NUMBER OF A CONSENSUS NETWORK BR112019010368B1|2021-12-14|METHOD FOR PROCESSING A SERVICE REQUEST AND DEVICE FOR PROCESSING A SERVICE REQUEST
同族专利:
公开号 | 公开日 US20180285412A1|2018-10-04| US20200159721A1|2020-05-21| MX2019011549A|2019-11-28| KR20190125426A|2019-11-06| JP6882511B2|2021-06-02| CN107360206B|2020-03-27| CA3057329C|2021-11-23| AU2019101614A4|2020-01-23| WO2018183148A1|2018-10-04| RU2744498C1|2021-03-10| US11010369B2|2021-05-18| BR112019020374A2|2020-04-28| JP2020515976A|2020-05-28| ZA201906163B|2020-12-23| TW201837733A|2018-10-16| AU2018243696B2|2020-11-05| EP3602293A1|2020-02-05| AU2018243696A1|2019-10-10| US10860574B2|2020-12-08| US20210248131A1|2021-08-12| KR102262713B1|2021-06-09| CA3057329A1|2018-10-04| PH12019502200A1|2020-12-07| CN107360206A|2017-11-17| SG11201908451UA|2019-10-30| TWI694339B|2020-05-21|
引用文献:
公开号 | 申请日 | 公开日 | 申请人 | 专利标题 JPS5858507B2|1979-09-21|1983-12-26|Yotsugi Kk| US7454516B1|2000-08-03|2008-11-18|Microsoft Corporation|Scalable virtual partitioning of resources| US7290059B2|2001-08-13|2007-10-30|Intel Corporation|Apparatus and method for scalable server load balancing| US9406063B2|2002-10-01|2016-08-02|Dylan T X Zhou|Systems and methods for messaging, calling, digital multimedia capture, payment transactions, global digital ledger, and national currency world digital token| US20040254984A1|2003-06-12|2004-12-16|Sun Microsystems, Inc|System and method for coordinating cluster serviceability updates over distributed consensus within a distributed data system cluster| US7146353B2|2003-07-22|2006-12-05|Hewlett-Packard Development Company, L.P.|Resource allocation for multiple applications| US7543069B2|2004-10-18|2009-06-02|International Business Machines Corporation|Dynamically updating session state affinity| US7725901B2|2005-04-14|2010-05-25|International Business Machines Corporation|Method and system for performance balancing in a distributed computer system| US20060242647A1|2005-04-21|2006-10-26|Kimbrel Tracy J|Dynamic application placement under service and memory constraints| JP2009134472A|2007-11-29|2009-06-18|Nomura Research Institute Ltd|Electric commerce device| US8495604B2|2009-12-30|2013-07-23|International Business Machines Corporation|Dynamically distribute a multi-dimensional work set across a multi-core system| US8910176B2|2010-01-15|2014-12-09|International Business Machines Corporation|System for distributed task dispatch in multi-application environment based on consensus for load balancing using task partitioning and dynamic grouping of server instance| US9569771B2|2011-04-29|2017-02-14|Stephen Lesavich|Method and system for storage and retrieval of blockchain blocks using galois fields| US9461876B2|2012-08-29|2016-10-04|Loci|System and method for fuzzy concept mapping, voting ontology crowd sourcing, and technology prediction| CN105518641B|2014-05-05|2018-05-04|华为技术有限公司|Point-to-Point Data clone method, equipment and system and host node switching method, equipment and system| WO2015175854A2|2014-05-15|2015-11-19|Cryptyk, Inc. |System and method for digital currency storage, payment and credit| US10346814B2|2014-06-04|2019-07-09|MONI Limited|System and method for executing financial transactions| US9818092B2|2014-06-04|2017-11-14|Antti Pennanen|System and method for executing financial transactions| SG11201700142PA|2014-07-11|2017-02-27|Loyyal Corp|Distributed ledger protocol to incentivize transactional and non-transactional commerce| RU2584506C1|2014-10-22|2016-05-20|Закрытое акционерное общество "Лаборатория Касперского"|System and method of protecting operations with electronic money| US20160217436A1|2015-01-25|2016-07-28|Dror Samuel Brama|Method, System and Program Product for Tracking and Securing Transactions of Authenticated Items over Block Chain Systems.| US9875510B1|2015-02-03|2018-01-23|Lance Kasper|Consensus system for tracking peer-to-peer digital records| US20160224949A1|2015-02-04|2016-08-04|Ripple Labs Inc.|Temporary consensus subnetwork in a distributed network for payment processing| US9965628B2|2015-03-02|2018-05-08|Dell Products Lp|Device reporting and protection systems and methods using a secure distributed transactional ledger| JP2018516026A|2015-03-20|2018-06-14|リヴェッツ・コーポレーションRivetz Corp.|Automatic device integrity authentication using blockchain| US9397985B1|2015-04-14|2016-07-19|Manifold Technology, Inc.|System and method for providing a cryptographic platform for exchanging information| TWI676943B|2015-05-06|2019-11-11|現代財富控股有限公司|Electronic trading system for cryptocurrency and method thereof| JP5858507B1|2015-05-18|2016-02-10|株式会社Orb|Virtual currency management program and virtual currency management method| US20160342977A1|2015-05-20|2016-11-24|Vennd.io Pty Ltd|Device, method and system for virtual asset transactions| US20170011460A1|2015-07-09|2017-01-12|Ouisa, LLC|Systems and methods for trading, clearing and settling securities transactions using blockchain technology| EP3362965A4|2015-10-13|2019-08-07|Transactive Grid Inc.|Use of blockchain based distributed consensus control| US10282457B1|2016-02-04|2019-05-07|Amazon Technologies, Inc.|Distributed transactions across multiple consensus groups| US10810583B2|2016-04-29|2020-10-20|Digital Asset Holdings|Digital asset modeling| US10360191B2|2016-10-07|2019-07-23|International Business Machines Corporation|Establishing overlay trust consensus for blockchain trust validation system| US10158527B2|2016-10-28|2018-12-18|International Business Machines Corporation|Changing an existing blockchain trust configuration| CN106534273A|2016-10-31|2017-03-22|中金云金融(北京)大数据科技股份有限公司|Block chain metadata storage system, and storage method and retrieval method thereof| CN106530072A|2016-11-22|2017-03-22|天津米游科技有限公司|Block chain consensus mechanism| CN106529951A|2016-12-30|2017-03-22|杭州云象网络技术有限公司|Node consensus verification method under league chain network through asynchronous mode| CN111406249A|2017-06-05|2020-07-10|平衡媒体技术有限责任公司|Platform for collaborative processing of computing tasks|CN107450979B|2017-03-28|2020-06-02|创新先进技术有限公司|Block chain consensus method and device| CN109819003A|2017-11-22|2019-05-28|南京理工大学|A kind of layering common recognition method and system of block chain| CN108009824A|2017-11-28|2018-05-08|北京博晨技术有限公司|Data common recognition method, apparatus and electronic equipment| CN107992356B|2017-12-13|2021-09-14|深圳壹账通智能科技有限公司|Block chain transaction block processing method, electronic device and readable storage medium| CN108234470B|2017-12-28|2020-08-04|江苏通付盾科技有限公司|Block packing method and system in block chain network, electronic equipment and storage medium| CN110083437A|2018-01-25|2019-08-02|北京欧链科技有限公司|Handle the method and device of block chain affairs| CN108323200A|2018-01-25|2018-07-24|深圳前海达闼云端智能科技有限公司|Data training method, device, storage medium based on block chain and block chain node| CN108307000A|2018-02-06|2018-07-20|武汉康慧然信息技术咨询有限公司|Block chain generation method based on time scheduling| CN108540536B|2018-03-16|2021-07-23|深圳前海微众银行股份有限公司|Block chain-based network mass service processing method, equipment and storage medium| CN108681963B|2018-03-29|2020-07-31|深圳市网心科技有限公司|Multi-block chain integration control method, system, electronic device and storage medium| CN108564468A|2018-04-04|2018-09-21|上海金丘信息科技股份有限公司|A kind of common recognition method based on the dynamic equity for trusting member| CN108809929B|2018-04-08|2020-07-17|浙江商业职业技术学院|Rural financial system based on block chain technology| CN108833330B|2018-04-08|2020-07-17|浙江商业职业技术学院|Rural e-commerce data authentication method| CN108830709A|2018-04-17|2018-11-16|中车工业研究院有限公司|A kind of crowdsourcing transaction system based on block chain| CN111433807A|2018-04-18|2020-07-17|深圳市元征软件开发有限公司|Block chain link point service and mining method, device, equipment, system and medium| CN108683645A|2018-04-27|2018-10-19|欧阳福|A kind of information-distribution type domain name and data transacting system based on block chain| CA3099728A1|2018-05-10|2019-11-14|Cornell University|Metastable byzantine agreement| CN108664623A|2018-05-14|2018-10-16|中钞信用卡产业发展有限公司杭州区块链技术研究院|A kind of date storage method, device, equipment and medium| CN108712491A|2018-05-17|2018-10-26|易链科技(深圳)有限公司|Block chain node, exchange information processing method, terminal device and medium| CN108717460A|2018-05-25|2018-10-30|济南浪潮高新科技投资发展有限公司|A kind of method and device reached common understanding in block chain| CN108881177B|2018-05-28|2021-04-23|夸克链科技(深圳)有限公司|Method for realizing heterogeneous parallel block chain| CN108985758B|2018-06-07|2020-10-30|深圳海派创客教育学院有限公司|Data processing method, data processing system and terminal equipment| US10880072B2|2018-06-20|2020-12-29|Verizon Patent And Licensing Inc.|Systems and methods for controlled random endorsement in a blockchain network| CN108768792B|2018-07-06|2021-02-12|网宿科技股份有限公司|Network detection system| CN109032803B|2018-08-01|2021-02-12|创新先进技术有限公司|Data processing method and device and client| CN109034809B|2018-08-16|2021-08-17|北京京东尚科信息技术有限公司|Block chain generation method and device, block chain node and storage medium| CN109086140A|2018-08-21|2018-12-25|上海点融信息科技有限责任公司|The method, apparatus and storage medium of data processing are carried out in block chain| CN110875893B|2018-08-29|2022-03-08|深圳启元信息服务有限公司|Consensus verification method, check node and block chain system| GB2577118A|2018-09-14|2020-03-18|Arqit Ltd|Autonomous quality regulation for distributed ledger networks| CN109257427B|2018-09-26|2021-04-02|网宿科技股份有限公司|Service processing method and system based on block chain| CN111092925A|2018-10-23|2020-05-01|中国移动通信有限公司研究院|Block chain capacity expansion processing method, device and equipment| CN109376274B|2018-10-23|2020-12-22|杭州能链科技有限公司|Block output method and device based on block chain system and storage medium| US11138188B2|2018-11-07|2021-10-05|International Business Machines Corporation|Performance optimization| CN109600323B|2018-11-12|2021-10-01|中山大学|Byzantine consensus mechanism| CN111314393A|2018-12-11|2020-06-19|北京京东金融科技控股有限公司|Data processing method, device and equipment based on block chain| MX2019008861A|2018-12-13|2019-09-11|Alibaba Group Holding Ltd|Achieving consensus among network nodes in a distributed system.| JP6726367B2|2018-12-13|2020-07-22|アリババ・グループ・ホールディング・リミテッドAlibaba Group Holding Limited|Changing the primary node in a distributed system| BR112019014815A2|2018-12-13|2020-02-27|Alibaba Group Holding Limited|COMPUTER IMPLEMENTED METHOD, LEGIBLE STORAGE MEDIA BY NON-TRANSITIONAL COMPUTER AND SYSTEM| CN109660545B|2018-12-27|2021-04-09|北京新唐思创教育科技有限公司|Alliance chain consensus method and computer storage medium| CN109635595B|2018-12-29|2020-10-23|杭州趣链科技有限公司|Block chain-based data tamper-proof method| CN109886681B|2019-01-31|2021-06-18|北京瑞卓喜投科技发展有限公司|Block chain consensus method and system| CN109918378B|2019-03-05|2020-09-25|中国科学院深圳先进技术研究院|Remote sensing data storage method and storage system based on block chain| CN109871279B|2019-03-11|2021-10-01|京东方科技集团股份有限公司|Consensus task coordination method and device, block chain system and storage medium| KR102170347B1|2019-03-18|2020-10-28|알리바바 그룹 홀딩 리미티드|System and method for terminating view change protocol| EP3593249B1|2019-03-18|2021-06-23|Advanced New Technologies Co., Ltd.|System and method for ending view change protocol| KR102230829B1|2019-03-18|2021-03-23|어드밴스드 뉴 테크놀로지스 씨오., 엘티디.|Consensus system downtime recovery| CN110049030B|2019-04-08|2020-03-10|山东公链信息科技有限公司|Block chain consensus system based on random continuous dispersion| KR102289612B1|2019-04-12|2021-08-18|어드밴스드 뉴 테크놀로지스 씨오., 엘티디.|Parallel execution of transactions in a distributed ledger system| CN111095325A|2019-04-12|2020-05-01|阿里巴巴集团控股有限公司|Parallel execution of transactions in a distributed ledger system| CN110138597B|2019-04-17|2021-11-05|上海大学|Block chain DPOSconsensus mechanism improvement method based on credit integration and node clustering| CN110113388B|2019-04-17|2020-01-14|四川大学|Improved clustering algorithm-based block chain system consensus method and device| CN110311958B|2019-06-14|2021-01-01|柳州市蓝海数链科技有限公司|Block chain network system| KR102342752B1|2019-06-19|2021-12-23|에스케이텔레콤 주식회사|Apparatus and method for consensus based on blockchain| KR102228214B1|2019-07-22|2021-03-16|에이치엔핀코어 주식회사|Node device that can improve transaction processing speed by propagating transactions before generating blocks in a block-chain network and operating method thereof| CN110599139A|2019-08-19|2019-12-20|杭州秘猿科技有限公司|Block output method and device in block chain consensus algorithm| CN110753028B|2019-09-11|2021-06-22|复旦大学|Method for controlling distributed accounting network resource use| CN110912994B|2019-11-22|2022-02-11|中国联合网络通信集团有限公司|Block chain consensus method and device| CN111291067B|2020-03-12|2021-01-26|南京珥仁科技有限公司|Block chain data forwarding method| CN111522696B|2020-07-03|2020-12-29|支付宝信息技术有限公司|Downtime processing method, data persistence method and hardware of block chain common identification node| CN112565240A|2020-12-01|2021-03-26|杭州云象网络技术有限公司|Multi-chain structure compatible method and system for bearing massive general certificate circulation|
法律状态:
2021-05-04| B25A| Requested transfer of rights approved|Owner name: ADVANTAGEOUS NEW TECHNOLOGIES CO., LTD. (KY) | 2021-05-25| B25A| Requested transfer of rights approved|Owner name: ADVANCED NEW TECHNOLOGIES CO., LTD. (KY) | 2021-08-31| B07A| Application suspended after technical examination (opinion) [chapter 7.1 patent gazette]| 2021-10-19| B350| Update of information on the portal [chapter 15.35 patent gazette]| 2021-12-07| B09A| Decision: intention to grant [chapter 9.1 patent gazette]| 2022-01-25| B16A| Patent or certificate of addition of invention granted [chapter 16.1 patent gazette]|Free format text: PRAZO DE VALIDADE: 20 (VINTE) ANOS CONTADOS A PARTIR DE 26/03/2018, OBSERVADAS AS CONDICOES LEGAIS. |
优先权:
[返回顶部]
申请号 | 申请日 | 专利标题 CN201710197538.X|2017-03-29| CN201710197538.XA|CN107360206B|2017-03-29|2017-03-29|Block chain consensus method, equipment and system| PCT/US2018/024256|WO2018183148A1|2017-03-29|2018-03-26|Method, apparatus, and system for blockchain consensus| 相关专利
Sulfonates, polymers, resist compositions and patterning process
Washing machine
Washing machine
Device for fixture finishing and tension adjusting of membrane
Structure for Equipping Band in a Plane Cathode Ray Tube
Process for preparation of 7 alpha-carboxyl 9, 11-epoxy steroids and intermediates useful therein an
国家/地区
|